Very detailed definition